1. Technical Field
The present invention is directed to business software integration. More specifically, the present invention is directed to an intelligent self-configurable adapter used in software integration.
2. Description of Related Art
With an ever-increasing number of companies doing business electronically, software integration has become more and more of a requirement. Software integration is the seamless integration of disparate applications on disparate systems to provide business solutions. Specifically, companies seeking to make information available on-demand to employees, customers, suppliers and partners are providing customized interfaces to information aggregated from disparate sources. Application developers creating these business solutions inevitably have to integrate data and functionality from existing applications with the newly-customized interfaces.
To facilitate software integration, integration-ready applications have been designed. An integration-ready application has its point (or points) of integration isolated from all layers of the application. One method that has been used to isolate an application's integration logic is to use adapters.
An adapter is a device that is used to convert data from one format into another. Thus, the adapter receives data in one format and transmits the data into another format. Traditionally, adapters were components of packaged integration software that were purchased from Enterprise Application Integration (EAI) vendors. As such, the adapters were static. A static adapter is an adapter that cannot reconfigure itself when needed. For example, suppose an adapter is configured to transfer data between one application on one system and another application on another system using HTTP (HyperText Transport Protocol). Suppose further that for some reason the data transfer fails, a static adapter may not be able to reconfigure itself to use another transport protocol to accomplish its task even if the other protocol is available.
Some recently developed adapters have been able to reconfigure themselves in cases of failure. However, reconfiguration is based on pre-defined scenarios. For example, one scenario may state that if HTTP is being used to transfer data and it fails then use UDP (User Datagram Protocol). In certain instances, these pre-defined scenarios may not be flexible enough. For example, if the adapter was not designed to take advantage of a particular scenario, even if the scenario is the best one available or it is the only one available, it will not be used.
Thus, what is needed is an intelligent self-configurable adapter that may advantageously use a best suited configuration to transfer information.